Skip to content

Add support for Safari#681

Open
Siedlerchr wants to merge 23 commits into
mainfrom
safari
Open

Add support for Safari#681
Siedlerchr wants to merge 23 commits into
mainfrom
safari

Conversation

@Siedlerchr

@Siedlerchr Siedlerchr commented Jun 21, 2026

Copy link
Copy Markdown
Member
  • Adds support for Safari
  • Add build instructions and also scripts for notarization
  • Adds support for HTTP & Native Messaging
  • Adds some more logging for testing native messaging

Edit//:
App store deployment is configured. Once we have a working build we need to upload it and get approval from apple

TODO: Configure secrets

Tested locally both with latest JabRef dev version on macOS 15.7.7
Some of the scripts were copied over from Browser Extensionn fresh

grafik

@Siedlerchr Siedlerchr requested a review from tobiasdiez June 21, 2026 19:19

@tobiasdiez tobiasdiez left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot!

Looks like this PR contains a few unrelated/unnecessary or otherwise strange changes (AI generated??). Can you please revise this, or at least explain the need for the changes.

The main issue is the whole scripts/makefile setup. In the wxt world, you solve this by "modules" that hook into the build progress and modify/postprocess the output. You might be able to reuse https://github.com/rxliuli/wxt-module-safari-xcode or at least get inspiration how its done.

github_token: ${{ secrets.RELEASE_PR_TOKEN }}
branch: ${{ fromJson(steps.release.outputs.pr).headBranchName }}

safari-package:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not merge this below with the publish workflow?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also instead of maintaining our version of publish/notarize/sign/whatever apple wants, can we reuse existing scripts please. Say https://github.com/rxliuli/safari-webext-publish-action.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still unresolved. It should be just another matrix-option for macos/safari in the existing publish workflow.

- name: Run tests
run: pnpm test

safari-build:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, this duplication is not easy to maintain.

<span id="connectionStatusHttp">Testing connection...</span>
</div>
</div>
<div class="grid-container">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the point of these changes here in the options dialog. They seem to be independent/unrelated to the macos stuff. Extract to new PR?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Used for testing native messaging

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a screenshot in the PR. This is especially relevant for mac as we will be able to see the native messagings logs now in the konsole app of mac if it works

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image

Comment thread wxt.config.ts
Comment thread wxt.config.ts
},
description:
"The JabRef browser extension imports new bibliographic information directly from the browser into JabRef.",
developer: {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this change?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not supportes

Comment thread wxt.config.ts
@tobiasdiez

Copy link
Copy Markdown
Member

TODO: Deployment to Apple developer/registering of the extension

Can you do this please, and then configure the securities in the gh actions to actually be able to test the publish/notarize workflow.

@Siedlerchr

Copy link
Copy Markdown
Member Author

Uploading to apple app store connect works now.
Manual publishing the artifact requires some addtional setup now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants